Clause 8: When writing operator new and operator Delete, it must follow the general rules.
When you rewrite operator new by yourself (cla10 explains why you sometimes rewrite it), it is important that the behavior provided by the function should
Original link one, new operator (new operator)People sometimes seem to like the benefits of making the C + + language difficult to understand. Let's say the difference between the new operator (new operator) and operator new.When you write this code:
Why is it necessary to write your own operator new and operator delete?
The answer is usually: for efficiency. The default operator new and operator Delete have a very good versatility. This flexibility also makes it possible to further improve its
Original address: http://www.cnblogs.com/jamesmile/archive/2010/04/17/1714311.html, thank you hereoperator New in C + + and new operator, look like two sisters, but there is a difference.operator NEW(1) Only the required space is allocated, and the
Note: The following tests are performed under VS2015, and other compilers may be slightly different.
Continue to clean up the rest of the content of the next chapter, the article involved a lot of the content of this article, and then a specific
Brief explanation1.operator New is a memory allocation function (same as malloc), and C + + provides 3 default operator new implementations within the global scope, and users can reload operator new.1 void*operator
The operands of predefined operators in C + + can only be basic data types, and in fact, for many user-defined types, similar operations are Required. For example:Class Complex{PublicComplex (double r=0.0,double i=0.0) {real=r;imag=i;}void Display ()
Note: The following tests are performed under VS2015, and other compilers may be slightly different.
because the content will be more, so split into the top and bottom two pieces to write.
Recently in a base project to do the demand, in the base
Placement new is a standard, global version of the overloaded operator new, which cannot be replaced by a custom version (unlike normal operator new and operator delete can be replaced with a user-defined version).
Its prototype is as follows:
void *
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.